package com.dis.resource.mapper;

import com.dis.pojo.entity.ChronicDiseaseType;
import com.dis.pojo.queryDTO.ChronicDiseaseTypePageQueryDTO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.data.repository.query.Param;

@Mapper
public interface ChronicDiseaseTypeMapper {
    /**
     * 插入慢性病种类
     * @param chronicDiseaseType 慢性病种类实体
     */
    void insert(ChronicDiseaseType chronicDiseaseType);

    /**
     * 分页查询慢性病种类
     * @param chronicDiseaseTypePageQueryDTO 分页查询参数
     * @return 分页结果
     */
    Page<ChronicDiseaseType> pageQuery(ChronicDiseaseTypePageQueryDTO chronicDiseaseTypePageQueryDTO);

    /**
     * 更新慢性病种类
     * @param chronicDiseaseType 慢性病种类实体
     */
    void update(ChronicDiseaseType chronicDiseaseType);

    /**
     * 根据ID逻辑删除慢性病种类
     * @param id 慢性病种类ID
     */
    void deleteById(Integer id);

    /**
     * 根据种类名称查询是否存在
     * @param typeName 种类名称
     * @return 数量
     */
    Integer countByTypeName(String typeName);

    /**
     * 根据ID查询慢性病种类
     * @param id 慢性病种类ID
     * @return 慢性病种类实体
     */
    ChronicDiseaseType getById(Integer id);

    /**
     * 根据种类id查询疾病种类信息
     * @param id
     * @return
     */
    @Select("select * from chronic_disease_type where id = #{id}")
    ChronicDiseaseType selectTypeInfo(@Param("id") Long id);
}

